
"""
可哈希的类型:
不可变对象, 一般可哈希
可变对象, 一般不可哈希
"""

# python 中提供了一个 hash 函数, 可计算一个变量的 hash 值
print(f"1 的 hash 值是: {hash(1)}")
print(f"3.14 的 hash 值是: {hash(3.14)}")
print(f"hello 的 hash 值是: {hash('hello')}")
print(f"True 的 hash 值是: {hash(True)}")
print(f"元组 的 hash 值是: {hash((1, 2, 3))}")

# 以上的类型: 整形, 浮点数, 字符串, 布尔, 元组 都是可哈希的.


# 列表 和 字典 是不可哈希的
# print(hash([1, 3]))     # 抛异常
# print(hash({'id': 1}))    # 抛异常

# 因此 以上可哈希的类型就可以作为字典的 key, 而不可哈希的 字典和列表 就不能作为字典的 key.
